1. Field of the Invention
The present invention generally relates to an application server system capable of executing a procedure with high execution frequency, and relates more specifically to converting the procedure with high execution frequency from intermediate code to native code and executing the procedure.
2. Description of the Related Art
Like Java(™) application, there are applications which take an execution form in which intermediate code is executed on a virtual machine. These types of applications have some advantages such that an execution file is small in size and the application is executable in various environments. However, the execution speed of the applications in the intermediate code is disadvangateously less than the applications written in a native code.
To solve this problem, a technology as follows is known. The technology is such that part of an application which contains intermediate code is converted to native code and the application is executed. For example, “Native image generator (Ngen.exe)”discloses a technology for previously converting part of an application to native code. Further, Japanese Patent Application Laid-Open No. 2005-346407discloses a technology for counting each execution frequency of procedures when an application is executed, and dynamically converting a procedure with high execution frequency to native code.
In the technology disclosed in Native image generator, however, it is necessary to examine which part of the application should be converted to native code to be effective in improvement of the execution speed. This causes the operation to become troublesome. Furthermore, to allow the application to be located on any part of memory upon execution, it is necessary to have a structure such that native code can be relocated, that is, a structure such that address conversion is required upon execution. Therefore, the native code after being converted becomes inferior in the execution speed to normal native code which is converted by a virtual machine.
On the other hand, in the technology disclosed in Japanese Patent Application Laid-Open No. 2005-346407, a portion to be converted to native code is automatically selected, so that there is no need to form a structure such that the native code can be relocated, and this does not cause the problem to occur. However, in the conventional technology, the execution speed is not improved until counting of the execution frequency reaches a certain value and conversion of a procedure with high execution frequency is started. Furthermore, after the conversion is started, conversion of intermediate code and execution of the application are concurrently performed. Load thereby increases, which may lead to occurrence of failure in execution of the application.